function rect = rect_function(N, a, b)
    % N: 序列的正半轴长度（负半轴对称）
    % a: 矩形序列开始取 1 的位置
    % b: 矩形序列结束取 1 的位置
    % 创建长度为 2N+1 的零向量
    rect = zeros(1, 2*N+1);
    % 确保 a 和 b 都在 -N 到 N 范围内
    if a < -N || b > N || a > b
        error('a 和 b 必须在 -N 和 N 之间，且 a 必须小于等于 b');
    end
    % 将 rect 在索引 a 到 b 之间的值设为 1
    rect(N + a + 1 : N + b + 1) = 1;  % MATLAB 索引从 1 开始，因此需要 N+a+1 和 N+b+1 偏移
end
% 设置参数
N = 6;      % 正半轴和负半轴的长度 (总长度为 2N+1)
a = -3;     % 矩形序列开始的位置
b = 3;      % 矩形序列结束的位置
% 调用 rect_function 函数生成矩形序列
rect_seq = rect_function(N, a, b);
% 绘制矩形序列
n = -N:N; % x 轴对应的索引，从 -N 到 N
stem(n, rect_seq, 'LineWidth', 2);
title('Rectangular Sequence');
xlabel('n');
ylabel('Amplitude');
grid on;
